#pragma once

#include <string>
#include <winDows.h>

#include "HttpServletRequest.h"
#include "HttpServletResponse.h"

class HttpServlet{
public:
	HttpServlet();
	~HttpServlet();

	void Service(HttpServletRequest req, HttpServletResponse resp);
	void DoGet(HttpServletRequest req, HttpServletResponse resp);
	void DoHead(HttpServletRequest req, HttpServletResponse resp);
	void DoPost(HttpServletRequest req, HttpServletResponse resp);
	void DoPut(HttpServletRequest req, HttpServletResponse resp);
	void DoDelete(HttpServletRequest req, HttpServletResponse resp);
	void DoConnect(HttpServletRequest req, HttpServletResponse resp);
	void DoOptions(HttpServletRequest req, HttpServletResponse resp);
	void DoTrace(HttpServletRequest req, HttpServletResponse resp);
	void DoPatch(HttpServletRequest req, HttpServletResponse resp);

	static const std::string METHOD_GET;
	static const std::string METHOD_HEAD;
	static const std::string METHOD_POST;
	static const std::string METHOD_PUT;
	static const std::string METHOD_DELETE;
	static const std::string METHOD_CONNECT;
	static const std::string METHOD_OPTIONS;
	static const std::string METHOD_TRACE;
	static const std::string METHOD_PATCH;

};

